﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Globalization;
using System.Linq;
using System.Resources;
using System.Threading;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml.Linq;
using Ryder_US_Website.BUS;

namespace Ryder_US_Website.Presentation.Guest
{
    public partial class Tracking : System.Web.UI.Page
    {
        protected RUS_Cargo cargo = null;
        protected RUS_Customer cus = null;
        ResourceManager rm;
        CultureInfo ci;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["Location"] == null)
            {
                Session["Location"] = "vi-VN";
            }
            Thread.CurrentThread.CurrentCulture = new CultureInfo(Session["Location"].ToString());
            rm = new ResourceManager("Resources.SitMap", System.Reflection.Assembly.Load("App_GlobalResources"));
            ci = Thread.CurrentThread.CurrentCulture;
            LoadString(ci);
            Session["Lang"] = Session["Location"].ToString().Substring(0, 2);

            if (Session["RUS_Customer"] == null)
            {
                Response.Redirect("TrangChu.aspx");
            }
            if (!IsPostBack)
            {
                txtIDCargo.Text = Request["txtIDCargo"];
            }
            cus = (RUS_Customer)Session["RUS_Customer"];
        }

        protected void ButtonOK_Click(object sender, EventArgs e)
        {
            try
            {
                if (String.IsNullOrEmpty(txtIDCargo.Text))
                {
                    txtIDCargo.Text = "0";
                }
                int id = int.Parse(txtIDCargo.Text);
                cargo = CargoBUS.GetActiveCargoByID(id);

                DataTable dt = new DataTable();
                DataRow dr = dt.NewRow();

                if (cargo == null || CustomerBUS.GetCustomerByID(cargo.Cargo_sender).Customer_ID != cus.Customer_ID)
                {
                    dt.Columns.Add("Lỗi");
                    dr["Lỗi"] = "Không tồn tại đơn hàng này";
                }
                else
                {
                    dt.Columns.Add("Mã đơn hàng");
                    dr["Mã đơn hàng"] = cargo.Cargo_ID;

                    dt.Columns.Add("Người gửi");
                    dr["Người gửi"] = CustomerBUS.GetCustomerByID(cargo.Cargo_sender).Customer_name;

                    dt.Columns.Add("Người nhận");
                    dr["Người nhận"] = cargo.Cargo_receiver;

                    dt.Columns.Add("Số điện thoại người nhận");
                    dr["Số điện thoại người nhận"] = cargo.Cargo_receivePhone;

                    dt.Columns.Add("Địa chỉ người nhận");
                    dr["Địa chỉ người nhận"] = cargo.Cargo_receiveAddress;

                    dt.Columns.Add("Ngày gửi");
                    dr["Ngày gửi"] = cargo.Cargo_sendDate.ToString("dd/MM/yyyy");

                    dt.Columns.Add("Đơn vị");
                    dr["Đơn vị"] = cargo.Cargo_count + " " +
                                   ServiceDetailBUS.GetServiceDetail(cargo.Cargo_serviceDetailID).ServiceDetail_unit;

                    dt.Columns.Add("Đã thanh toán/Tổng tiền");
                    dr["Đã thanh toán/Tổng tiền"] = String.Format("{0:0}", cargo.Cargo_paidMoney) + "/" +
                                                    String.Format("{0:0}", cargo.Cargo_total);

                    dt.Columns.Add("Tình trạng");
                    dr["Tình trạng"] = CargoStatusBUS.GetCargoStatusByID(cargo.Cargo_status).CargoStatus_name;

                    dt.Columns.Add("Mô tả");
                    dr["Mô tả"] = cargo.Cargo_description;
                }
                // Add vào detail view
                dt.Rows.Add(dr);
                dtvCargo.DataSource = dt;
                dtvCargo.DataBind();
            }
            catch(Exception ex)
            {
                Utils.UtilHelpers.ShowMessage(ex.Message);
            }
        }

        public void LoadString (CultureInfo ci)
        {
            lbTracking.Text = rm.GetString("Tracking", ci);
            LabelTracking.Text = rm.GetString("ID", ci);
            ButtonOK.Text = rm.GetString("View", ci);
        }
    }
}
